1. Field of the Invention
The present invention-relates generally to storing different versions of information and in particular to a method of handling different versions of a document in a computer system.
2. Description of Related Art
In a computer system, different versions of a document, one current version and one or more earlier versions, may have to be handled, for example for purposes of documenting the historical development of the document. Documents are understood to be data files suitable for being stored and processed on computer systems in general, including text documents, spreadsheets, tables, pictures or any other set of data representing information.
Computer programs for handling, i.e. storing and retrieving, that means opening or displaying, different versions of a document already exist in the prior art as illustrated in FIG. 1. Version seven 107 was the newest or current version of the document and version one was the earliest version.
The area of a storage medium in which the relevant information concerning the document was stored was a storage unit that could be divided into storage sub-units. The entire current version 107 of the document was stored in a storage sub-unit 100 assigned to the document.
The earlier versions of the document were not stored in their entirety in storage sub-unit 100. Instead, each earlier version of the document was compared with the next newer version of the document and only the differences between the two versions were stored together with information about the respective position of each of the differences. Stated another way, only the differences between each version and its immediate predecessor version were stored along with the information necessary to restore the earlier versions using only the differences.
Therefore, storage sub-unit 100 also included the differences between the first and the second version 101, between the second and the third version 102, between the third and the fourth version 103, between the fifth and fourth version 104, between the sixth and the fifth version 105 and between the seventh and the sixth version 106. If the first version of the document had to be displayed, the current seventh version 107 was opened and any differences 106 between the seventh and the sixth version, any differences 105 between the sixth and the fifth version, any differences 104 between the fifth and the fourth version, any differences 103 between the fourth and the third version, any differences 102 between the third and the second version, and any differences 101 between the second and the first version were inserted in the current seventh version to generate the first version. With this storage method, the first version was restored or reconstructed successively from the current seventh version and the differences of all of the other earlier versions relative to each other.
This solution was laborious and time consuming, since several steps had to be carried out. Furthermore, if the current version or any differences between versions were not properly retrievable, the desired first version could not be restored. In the case where a large number of versions of a document were stored, this dependency was a serious risk factor.
In a document, which comprises, for example, tables the differences between the various earlier versions of this document may, for example, reside only in the fourth row in the fifth table of the document. In this example, the content of the earlier versions' fourth row of the fifth table was stored, together with the information that this piece of data belonged to the fourth row of the fifth table, not to any other row or column of any other table, and with the information that it belonged to a certain earlier version, not any other earlier version. The rest of the earlier versions were not physically stored.
This process of storing and retrieving earlier versions of a document was time consuming, since several processing steps had to be performed to restore the desired earlier version. In addition, if problems occurred in storing or retrieving the current version of the document, the same problems applied to the retrieval of any earlier version, since the retrieval of any earlier version depended on the current version's successful retrieval.
In another prior art method, as disclosed in U.S. Pat. No. 5,819,295, versions of a document were each stored as separate files and various files were collected in folders. The method of the '295 patent required an elaborate management system to determine in which folder each version of a document was stored. While this eliminated the problems noted above, the overhead with such a complex management scheme makes it impractical for use with a word processing or spreadsheet application, for example.